﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x020014F5 RID: 5365
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class Waypoint : IMessage<Waypoint>, IMessage, IEquatable<Waypoint>, IDeepCloneable<Waypoint>, IBufferMessage
	{
		// Token: 0x17004391 RID: 17297
		// (get) Token: 0x0600F00C RID: 61452 RVA: 0x00281010 File Offset: 0x0027F210
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<Waypoint> Parser
		{
			get
			{
				return Waypoint._parser;
			}
		}

		// Token: 0x17004392 RID: 17298
		// (get) Token: 0x0600F00D RID: 61453 RVA: 0x00281017 File Offset: 0x0027F217
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return WaypointReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17004393 RID: 17299
		// (get) Token: 0x0600F00E RID: 61454 RVA: 0x00281029 File Offset: 0x0027F229
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return Waypoint.Descriptor;
			}
		}

		// Token: 0x0600F00F RID: 61455 RVA: 0x00281030 File Offset: 0x0027F230
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Waypoint()
		{
		}

		// Token: 0x0600F010 RID: 61456 RVA: 0x00281038 File Offset: 0x0027F238
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Waypoint(Waypoint other) : this()
		{
			this.id_ = other.id_;
			this.isNew_ = other.isNew_;
			this.eCBDHIILHND_ = other.eCBDHIILHND_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600F011 RID: 61457 RVA: 0x00281075 File Offset: 0x0027F275
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Waypoint Clone()
		{
			return new Waypoint(this);
		}

		// Token: 0x17004394 RID: 17300
		// (get) Token: 0x0600F012 RID: 61458 RVA: 0x0028107D File Offset: 0x0027F27D
		// (set) Token: 0x0600F013 RID: 61459 RVA: 0x00281085 File Offset: 0x0027F285
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Id
		{
			get
			{
				return this.id_;
			}
			set
			{
				this.id_ = value;
			}
		}

		// Token: 0x17004395 RID: 17301
		// (get) Token: 0x0600F014 RID: 61460 RVA: 0x0028108E File Offset: 0x0027F28E
		// (set) Token: 0x0600F015 RID: 61461 RVA: 0x00281096 File Offset: 0x0027F296
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool IsNew
		{
			get
			{
				return this.isNew_;
			}
			set
			{
				this.isNew_ = value;
			}
		}

		// Token: 0x17004396 RID: 17302
		// (get) Token: 0x0600F016 RID: 61462 RVA: 0x0028109F File Offset: 0x0027F29F
		// (set) Token: 0x0600F017 RID: 61463 RVA: 0x002810A7 File Offset: 0x0027F2A7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint ECBDHIILHND
		{
			get
			{
				return this.eCBDHIILHND_;
			}
			set
			{
				this.eCBDHIILHND_ = value;
			}
		}

		// Token: 0x0600F018 RID: 61464 RVA: 0x002810B0 File Offset: 0x0027F2B0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as Waypoint);
		}

		// Token: 0x0600F019 RID: 61465 RVA: 0x002810C0 File Offset: 0x0027F2C0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(Waypoint other)
		{
			return other != null && (other == this || (this.Id == other.Id && this.IsNew == other.IsNew && this.ECBDHIILHND == other.ECBDHIILHND && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600F01A RID: 61466 RVA: 0x0028111C File Offset: 0x0027F31C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.Id != 0U)
			{
				num ^= this.Id.GetHashCode();
			}
			if (this.IsNew)
			{
				num ^= this.IsNew.GetHashCode();
			}
			if (this.ECBDHIILHND != 0U)
			{
				num ^= this.ECBDHIILHND.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600F01B RID: 61467 RVA: 0x0028118D File Offset: 0x0027F38D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600F01C RID: 61468 RVA: 0x00281195 File Offset: 0x0027F395
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600F01D RID: 61469 RVA: 0x002811A0 File Offset: 0x0027F3A0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.IsNew)
			{
				output.WriteRawTag(32);
				output.WriteBool(this.IsNew);
			}
			if (this.ECBDHIILHND != 0U)
			{
				output.WriteRawTag(48);
				output.WriteUInt32(this.ECBDHIILHND);
			}
			if (this.Id != 0U)
			{
				output.WriteRawTag(96);
				output.WriteUInt32(this.Id);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600F01E RID: 61470 RVA: 0x00281218 File Offset: 0x0027F418
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.Id != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Id);
			}
			if (this.IsNew)
			{
				num += 2;
			}
			if (this.ECBDHIILHND != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.ECBDHIILHND);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600F01F RID: 61471 RVA: 0x0028127C File Offset: 0x0027F47C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(Waypoint other)
		{
			if (other == null)
			{
				return;
			}
			if (other.Id != 0U)
			{
				this.Id = other.Id;
			}
			if (other.IsNew)
			{
				this.IsNew = other.IsNew;
			}
			if (other.ECBDHIILHND != 0U)
			{
				this.ECBDHIILHND = other.ECBDHIILHND;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600F020 RID: 61472 RVA: 0x002812E0 File Offset: 0x0027F4E0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600F021 RID: 61473 RVA: 0x002812EC File Offset: 0x0027F4EC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 32U)
				{
					if (num != 48U)
					{
						if (num != 96U)
						{
							this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
						}
						else
						{
							this.Id = input.ReadUInt32();
						}
					}
					else
					{
						this.ECBDHIILHND = input.ReadUInt32();
					}
				}
				else
				{
					this.IsNew = input.ReadBool();
				}
			}
		}

		// Token: 0x04005ED4 RID: 24276
		private static readonly MessageParser<Waypoint> _parser = new MessageParser<Waypoint>(() => new Waypoint());

		// Token: 0x04005ED5 RID: 24277
		private UnknownFieldSet _unknownFields;

		// Token: 0x04005ED6 RID: 24278
		public const int IdFieldNumber = 12;

		// Token: 0x04005ED7 RID: 24279
		private uint id_;

		// Token: 0x04005ED8 RID: 24280
		public const int IsNewFieldNumber = 4;

		// Token: 0x04005ED9 RID: 24281
		private bool isNew_;

		// Token: 0x04005EDA RID: 24282
		public const int ECBDHIILHNDFieldNumber = 6;

		// Token: 0x04005EDB RID: 24283
		private uint eCBDHIILHND_;
	}
}
